Rijndael algorithm is a symmetric secret-key encryption algorithm that was developed by Joan Daemen and Vincent Rijmen who are Belgian encryption developers, and then selected as a new AES (Advanced Encryption Standard) by American NIST (National Institute Standards and Technology) in October, 2000 or thereabouts.
The rijndael algorithm supports a variable block length of an SPN (Substitution-Permutation Network) structure, and enables the use of 128-bit, 192-bit, and 256-bit keys with respect to respective block lengths.
The number of rounds in the rijndael algorithm is determined by key lengths, and in the case of using the 128-bit block, it is recommended to use 10, 12 and 14 rounds with respect to the 128-bit, 192-bit and 256-bit keys, respectively.
Recently, it is known that the rijndael algorithm causes no problem in security even if the 128-bit key is used, and thus researches for hardware implementation of the rijndael algorithm using the key having a length of 128 bits has already been under way.
Since the rijndael algorithm encrypts/decrypts data for the rijndael block encryption/decryption by repeating round operations, and is especially provided for supporting the variable block length of the SPN structure, the encryption process of a rijndael block cipher is different from the decryption process thereof. Typically, a round operation for the encryption process of the rijndael block cipher is composed of four transforms of substitution, shift_row, mixcolumn and add-round-key, and a round operation for the decryption process is composed o four transforms of inverse-shift_row, inverse substitution, add-round-key and inverse mixcolumn. According to methods of performing these transforms, times required for the round operation for the rijndael block cipher and hardware resources to be used differ, and further the method of performing the transform is vital to the performance of a rijndael cipher processor.
Accordingly, it is important to reduce the amount of hardware resource required for the implementation of the round operation and the time required for performing of the round operation.